6979
21607
Jag vill inte byta namn på en fjärrgren, som beskrivs i Byt namn på huvudgren för både lokala och avlägsna Git-förråd.
Hur kan jag byta namn på en lokal filial som inte har skjutits till en avlägsen filial?
Om du behöver byta namn på fjärrgren också: Hur byter jag namn på både ett Git lokalt och fjärrgrenarnamn 
1
2
Nästa
Om du vill byta namn på en gren medan du pekar på någon gren, gör:
git branch -m  
Om du vill byta namn på den aktuella filialen kan du göra:
git branch -m 
Ett sätt att komma ihåg detta är -m är för "move" (eller mv), vilket är hur du byter namn på filer. Att lägga till ett alias kan också hjälpa. För att göra det, kör följande:
git config - globalt alias. namn "gren -m"
Om du använder Windows eller ett annat skiftlägeskänsligt filsystem och det bara finns stora bokstavsändringar i namnet måste du använda -M, annars kommer git throw gren redan existerar fel:
git branch -M 
|
git branch -m old_branch_name new_branch_name
Ovanstående kommando kommer att ändra ditt filialnamn, men du måste vara mycket försiktig med att använda den bytte namngrenen, eftersom det fortfarande kommer att hänvisa till den gamla uppströmsgrenen som är associerad med den, om någon.
Om du vill trycka på några ändringar i master efter att din lokala filial bytt namn till new_branch_name (exempel namn):
git push origin new_branch_name: master (nu kommer ändringarna att gå till mastergrenen men ditt lokala filialnamn är new_branch_name)
För mer information, se "Hur man byter namn på ditt lokala filialnamn i Git."
|
Så här byter du namn på din nuvarande gren:
git branch -m 
|
Här är stegen för att byta namn på filialen:
Byt till den gren som behöver bytas namn
git branch -m 
git push-ursprung: 
git push origin : refs / heads / 
EDIT (2017-12-01): Se till att du kör status för kommandogit och kontrollera att den nyskapade grenen pekar på sin egen ref och inte den äldre. Om du hittar referensen till den äldre grenen måste du avmarkera uppströms med:
git branch --unset-upstream
|
Att byta namn på filialen är användbart när din filial är klar. Då kommer nya saker och du vill utvecklas i samma gren istället för att ta bort den och skapa den nya.
Från min erfarenhet bör du göra följande för att byta namn på en lokal och avlägsen filial i Git.
Citat från flera stater - Byt namn på en lokal och avlägsen filial i
git
1. Byt namn på din lokala filial
Om du är på filialen vill du byta namn på:
git gren -m nytt namn
Om du är i en annan gren:
git gren -m gammalt namn nytt namn
2. Ta bort den gamla namns fjärrgren och tryck på den lokala filens nya namn
git push origin: gammalt namn nytt namn
3. Återställ filmen uppströms för den nya lokala filialen
git push origin -u nytt namn
|
Svaren hittills har varit korrekta, men här är lite ytterligare information:
Man kan säkert byta namn på en gren med '-m' (flytta), men man måste vara försiktig med '-M', eftersom den tvingar byta namn, även om det redan finns en befintlig gren med samma namn. Här är utdraget från man-sidan "git-branch":
Med alternativet -m eller -M byts namn på  till . Om  hade en motsvarande reflog, döps den om så att den matchar , och en reflog-post skapas för att komma ihåg grennamnet. Om  finns, måste -M användas för att tvinga namnbytet att hända.
|
1. Byt namn
Om det är din nuvarande filial, gör bara
git branch -m new_name
Om det är en annan gren som du vill byta namn på
git branch -m old_name new_name
2. Spåra en ny avlägsen gren
- Om din filial trycktes måste du ta bort den från Git-förvaret efter att ha bytt namn på det och be din nya lokal att spåra en ny fjärrgren:
git push origin: old_name
git push - set-upstream origin new_name
|
Jag dumt namngav en gren som började med bindestreck och checkade sedan ut mästaren. Jag ville inte ta bort min filial, jag hade jobb i den.
Ingen av dessa fungerade:
git checkout -dumb-name
git checkout - -dumb-name
"s, s och \ s hjälpte inte heller. git branch -m fungerar inte.
Så här fixade jag det äntligen. Gå in i din arbetskopia .git / refs / heads, hitta filnamnet "-dumb-name", få filialens hash. Då kommer det att kolla in det, skapa en ny gren med ett förnuftigt namn och ta bort den gamla.
git kassan {hash}
git kassan -b lysande namn
git branch -d - -dumb-name
|
Så här byter du namn på en filial lokalt:
git gren -m [gammal gren] [ny gren]
Nu måste du sprida dessa ändringar också på din fjärrserver.
Så här driver du ändringar av den borttagna gamla grenen:
git push-ursprung: [gammal gren]
Så här driver du förändringar i skapandet av en ny gren:
git push origin [ny gren]
|
Bara tre steg för att replikera namnändring på fjärrkontroll såväl som på GitHub:
Steg 1 git gren -m gammal_filialnamn ny_filialnamn
Steg 2 git push origin: old_branchname new_branchname
Steg 3 git push - set-upstream origin new_branchname
|
Byt namn på filialen med det här kommandot:
git branch -m [old_branch_name] [new_branch_name]
-m: Den byter namn på / flyttar grenen. Om det redan finns en filial får du ett fel.
Om det redan finns en filial och du vill byta namn på den filialen, använd:
git byta namn på -M [gammalt_filialnamn] [nytt_filialnamn]
För mer information om hjälp, använd detta kommando i terminalen:
git gren --hjälp
eller
man gitgren
|
Avancerade Git-användare kan byta namn manuellt med:
Byt namn på den gamla grenen under .git / refs / heads till det nya namnet
Byt namn på den gamla grenen under .git / logs / refs / heads till det nya namnet
Uppdatera .git / HEAD för att peka på ditt nya filialnamn
|
Byt namn på din lokala filial.
Om du är på filialen vill du byta namn på:
git gren -m nytt namn
Om du är i en annan gren:
git gren -m gammalt namn nytt namn
Ta bort den gamla namns fjärrgren och tryck på den lokala filialens nya namn.
git push origin: gammalt namn nytt namn
Återställ uppströmsgrenen för den lokala filialen med nytt namn.
Byt till filialen och sedan:
git push origin -u nytt namn
Eller för ett snabbt sätt att göra det kan du använda dessa tre steg:
# Byt namn på filial lokalt
git gren -m gammal_filial ny_filial
# Ta bort den gamla fjärrgrenen
git push origin: old_branch
# Tryck på den nya grenen, ställ in lokal filial för att spåra den nya fjärrkontrollen
git push --set-upstream origin new_branch
Hänvisning: https://www.w3docs.com/snippets/git/how-to-rename-git-local-and-remote-branches.html
|
Här är tre steg: Ett kommando som du kan ringa inuti din terminal och ändra filialnamn.
git branch -m old_branch new_branch # Byt namn på filial lokalt
git push origin: old_branch # Ta bort den gamla grenen
git push --set-upstream origin new_branch # Push the new branch, set local branch to track the new remote
Om du behöver mer: steg för steg är How To Change Git Branch Name en bra artikel om det.
|
Förmodligen, som andra nämnde, kommer detta att vara ett fall som inte passar i namnet på grenar.
Om du har en sådan situation kan jag gissa att du är på Windows vilket också leder dig till:
$ git branch -m CaseSensitive case-sensitive
dödlig: En gren med namnet "case-sensitive" finns redan.
Då måste du göra ett mellansteg:
$ git gren -m tillfällig
$ git gren -m skiftlägeskänslig
Inget mer.
|
Försöker svara specifikt på frågan (åtminstone titeln).
Du kan också byta namn på lokal filial, men fortsätter att spåra det gamla namnet på fjärrkontrollen.
git gren -m gammal_filial ny_filial
git push --set-upstream origin new_branch: old_branch
Nu när du kör git push uppdateras fjärranslutna old_branch-ref med din lokala new_branch.
Du måste känna till och komma ihåg den här konfigurationen. Men det kan vara användbart om du inte har valet för fjärrfilialnamnet, men du inte gillar det (åh, jag menar, du har en mycket bra anledning att inte gilla det!) Och föredrar en tydligare namn för din lokala filial.
Om du spelar med hämtningskonfigurationen kan du till och med byta namn på den lokala fjärrreferensen. dvs att ha en refs / remote / origin / new_branch ref-pekare till grenen, det är faktiskt den gamla_grenen på ursprung. Men jag avråder starkt detta för din hjärtsäkerhet.
|
Att byta filial lokalt är ganska enkelt ...
Om du är på den filial du vill ändra namnet på, gör du helt enkelt detta:
git branch -m my_new_branch
Annars, om du är på master eller någon annan gren än den du vill ändra namnet, gör du helt enkelt:
git branch -m my_old_branch my_new_branch
Jag skapar också bilden nedan för att visa detta i handling på en kommandorad. I det här fallet är du på huvudgren, till exempel:
|
Om du är villig att använda SourceTree (vilket jag starkt rekommenderar) kan du högerklicka på din filial och välja "Byt namn".
|
För att byta namn på den aktuella grenen (förutom fristående HEAD-tillstånd) kan du också använda detta alias:
[alias]
mvh =! sh -c 'git branch -m' git rev-parse --abbrev-ref HEAD '$ 1'
|
Ett annat alternativ är att inte använda kommandoraden alls. Git GUI-klienter som SourceTree tar bort mycket av den syntaktiska inlärningskurvan / smärtan som gör att frågor som den här är bland de mest visade på Stack Overflow.
I SourceTree högerklickar du på en lokal gren i rutan "Grenar" till vänster och väljer "Byt namn ...".
|
Ett enkelt sätt att göra det:
git branch -m old_branch new_branch # Byt namn på filial lokalt
git push origin: old_branch # Ta bort den gamla grenen
git push --set-upstream origin new_branch # Push the new branch, set local branch to track the new remote
För mer, se detta.
|
Eftersom du inte vill skicka filialen till en fjärrserver är det här exemplet användbart:
Låt oss säga att du har en befintlig filial som heter "min-het-funktion" och att du vill byta namn på den till "funktion-15".
Först vill du ändra din lokala filial. Det här kunde inte vara enklare:
git branch -m my-hot-feature feature-15
För mer information kan du besöka Lokalt och fjärrnamn på en filial i Git.
|
Git version 2.9.2
Om du vill ändra namnet på den lokala filial du befinner dig i:
git branch -m new_name
Om du vill ändra namnet på en annan gren:
git branch -m old_name new_name
Om du vill ändra namnet på en annan gren till ett namn som redan finns:
git branch -M old_name new_name_that_already_exists
Obs! Det sista kommandot är destruktivt och kommer att byta namn på din gren, men du kommer att förlora den gamla grenen med det namnetoch de åtar sig eftersom filialnamn måste vara unika.
|
Om du vill ändra namnet på den aktuella filialen, kör:
git branch -m [old_branch] [new_branch]
Om du vill ta bort den gamla fjärrgrenen kör du:
git push origin: [old_branch]
Om du vill ta bort den gamla fjärrgrenen och skapa en ny fjärrgren kör du:
git push origin: old_branch new_branch
|
Egentligen har du tre steg eftersom den lokala grenen har ett duplikat på servern så vi har ett steg för lokalt i två steg på servern:
Byt namn lokalt: använd bara följande kommando för att byta namn på din nuvarande gren, även om du kollade ut det:
git -gren -m  
Ta bort servern en: använd följande kommando för att radera den gamla namngrenen på servern:
git push : 
Tryck på den nya: nu är det dags att trycka på den nya grenen som heter på servern:
git push -u 
|
Byt namn på Git-gren kan göras med:
git gren -m oldBranch newBranch
git branch -M oldBranch ExistingBranch
Skillnaden mellan -m och -M:
-m: om du försöker byta namn på din filial med ett befintligt filialnamn med -m.
Det kommer att leda till ett fel som säger att filialen redan finns. Du måste ange ett unikt namn.
Men,
-M: detta hjälper dig att tvinga byta namn med ett givet namn, även om det finns. Så en befintlig filial kommer att skriva över helt med den ...
Här är ett Git-terminalexempel,
mohideen @ dev: ~ / project / myapp / sunithamakeup $ git gren
bemästra
master0
ny_mästare
testa
* test1
mohideen @ dev: ~ / project / myapp / sunithamakeup $ git branch -m test1 test
dödlig: En gren med namnet "test" finns redan.
mohideen @ dev: ~ / project / myapp / sunithamakeup $ git branch -M test1 test
mohideen @ dev: ~ / project / myapp / sunithamakeup $ git gren
bemästra
master0
ny_mästare
* test
mohideen @ dev: ~ / project / myapp / sunithamakeup $
|
För Git GUI-användare kan det inte vara mycket enklare.
I Git GUI väljer du grennamnet i listrutan i dialogrutan "Byt namn på gren" skapad från menyalternativet Gren: Byt namn, skriv ett nytt namn och klicka på "Byt namn". Jag har markerat var du hittar rullgardinsmenyn.
|
Alla tidigare svar talar om git branch -m. Naturligtvis är det lätt att använda, men för mig kan det vara lite svårt att komma ihåg ett annat Git-kommando. Så jag försökte få jobbet gjort med kommandot jag kände till. Ja, du kanske gissade det.
Jag använder git branch -b . Och om du inte vill spara den gamla grenen nu kan du köra git gren -D  för att ta bort den.
Jag vet att det kan vara lite tråkigt, men det är lättare att förstå och komma ihåg. Jag hoppas att det hjälper dig.
|
Om du vill:
Byt namn på Git-arkivet, kör: git branch -m  
Ta bort den gamla grenen med: git push origin: gammalt namn nytt namn
Begå det med: git commit 
och tryck sedan med: git push origin new_branch_name: master
Om du vill kontrollera status använder du: git-status
Om du vill kolla in använd sedan: git checkout
|
Innan vi börjar, se till att du har valt den gren du vill byta namn på:
git kassan gammalt namn
Om du vill se alla dina lokala filialer, använd följande kommando:
git gren - lista
När du är klar följer du dessa steg:
Om du använder Git rename branch-kommandot måste du lägga till ett -m-alternativ i ditt kommando:
git gren -m nytt namn
Du kan också byta namn på en lokal gren från en annan gren genom att använda följande två kommandon:
git checkout master
git gren -m gammalt namn nytt namn
Slutligen kommer detta kommando att lista alla - både lokala och fjärrgrenar - för att verifiera att det har döpts om:
git gren -a
Även om det inte är möjligt att byta namn på en avlägsen gren direkt, innebär processen att byta namn på en av dessa tre enkla steg:
För att starta måste du byta namn på en lokal filial genom att följa föregående steg.
2.Ta sedan bort den gamla grenen och tryck på den nya. Du kan göra det enkelt med följande kommandon:
git push origin - radera gammalt namn
git push origin: gammalt namn nytt namn
Återställ uppströmsgrenen för din nya lokala filial så är du klar:
git push origin -u nytt namn
|
1
2
Nästa
Mycket aktiv fråga. Tjäna 10 rykte för att svara på den här frågan. Kravet på rykte hjälper till att skydda denna fråga från skräppost och icke-svar-aktivitet.
Inte svaret du letar efter? Bläddra bland andra frågor taggade git version-control git-branch eller ställ din egen fråga.